Direct digital synthesizers (DDS) are a class of numeric oscillators capable of generating a range of waveforms at a variety of easily-adjustable frequencies from a single, fixed-frequency, reference oscillator. The reference oscillator, however, is always subject to accuracy and stability errors relative to an absolute time base such as provided by GPS or other such standardized time base references. Reference is made to FIG. 1, which shows a simplified block diagram of an example DDS 10. The DDS 10 includes a reference clock oscillator 12, which in this example is shown as a piezoelectric crystal oscillator. The DDS 10 includes a numerically-controlled oscillator (NCO) 14. In this specific example, the DDS 10 includes a digital-to-analog converter (DAC) 16, and a low-pass filter (LPF) 18 for the purpose of producing an analog output signal, but in other examples the digital signal output from the NCO 14 may be used without analog conversion. The NCO 14 receives the fixed-frequency oscillator timing signal from the reference oscillator 12 and creates a digital signal having a desired waveform (e.g. a sinusoid in many embodiments) at a selected frequency.
The reference oscillator 12 that is used to generate the fixed-frequency oscillator signal is often a piezoelectric crystal oscillator. A piezoelectric crystal oscillator uses the mechanical resonance of a vibrating crystal (such as quartz) to create a signal with a very precise frequency. The use of crystal oscillators is desirable due to their stability in producing an electrical signal of precise frequency, based on the shape and mounting of the crystal. Crystal oscillators have accuracy and stability but are susceptible to short and long-term drift sometimes caused by environmental factors, such as temperature, and sometimes due to aging of the crystal. The short and long-term drift affects the phase and/or frequency of the generated clock signal used in the NCO 14. This results in a relative frequency offset of the crystal oscillator's nominal operating frequency. The reference oscillator 12 may be a timing source other than a piezoelectric crystal in some embodiments. Almost all timing sources suffer from some amount of accuracy and stability drift. The error in the oscillator signal from the reference oscillator leads directly to error in the phase and/or frequency of the signal produced by the NCO 14.
Various methods have been used in order to correct for the output error in the signal generated by a direct digital synthesizer due to error in signal from the reference oscillator. As an example, in the case of a crystal oscillator, the crystal resonance capacitance load may be adjustable through input of a voltage. The adjustment to the crystal capacitance may offset or partially compensate for the drift error. In another example, the impact of the error in the oscillator signal from the reference oscillator may be corrected within the NCO by changing the frequency word with a constant offset, i.e. adjusting the step-size, used in the numerically-controlled oscillator. Unfortunately, these current methods may be overly complex and/or lack the fine-grain accuracy necessary to adjust for drift error.